package com.sdry.mapper.zc;

import java.util.List;

import com.sdry.model.llm.Department;
import com.sdry.model.llm.User;
import com.sdry.model.zc.ZcDisposeRejectsDetailsEntity;
import com.sdry.model.zc.ZcDisposeRejectsEntity;
import com.sdry.model.zc.ZcEvaluateEntity;
import com.sdry.model.zc.ZcGasEntity;
import com.sdry.model.zc.ZcLeakHuntingEntity;
import com.sdry.model.zc.ZcQueryCriteria;
import com.sdry.model.zc.ZcTestDetailsEntity;
import com.sdry.model.zc.ZcTestEntity;

/**
 * 
 * @ClassName:    ZcDisposeRejectsMapper   
 * @Description:  不合格处置
 * @Author:       zc   
 * @CreateDate:   2018年9月26日 下午2:54:21   
 * @Version:      v1.0
 */
public interface ZcDisposeRejectsMapper {
	/**
	 * 查询不合格处置列表
	 * @param zcQueryCriteria
	 * @return
	 */
	public List<ZcDisposeRejectsEntity> selectDisposeRejectsList(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 查询不合格处置列表数目
	 * @param zcQueryCriteria
	 * @return
	 */
	public int countDisposeRejectsList();
	/**
	 * 新增处置单
	 * @param zcDisposeRejectsEntity
	 * @return
	 */
	public int insertDisposeRejects(ZcDisposeRejectsEntity zcDisposeRejectsEntity);
	/**
	 * 修改处置单
	 * @param zcDisposeRejectsEntity
	 * @return
	 */
	public int updateDisposeRejects(ZcDisposeRejectsEntity zcDisposeRejectsEntity);
	/**
	 * 批量删除
	 * @param id
	 * @return
	 */
	public int delDisposeRejectsArr(long id);
	/**
	 * 发起审批
	 * @param id
	 * @return
	 */
	public int sponsorApprover(ZcDisposeRejectsEntity zcDisposeRejectsEntity);
	/**
	 * 通过处置单id查询详情
	 * @param zcQueryCriteria
	 * @return
	 */
	public List<ZcDisposeRejectsDetailsEntity> selectDisposeRejectsDetailsListBydId(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过处置单id查询详情 android
	 * @param id
	 * @return
	 */
	public List<ZcDisposeRejectsDetailsEntity> selectDisposeRejectsDetailsListBydIdAndroid(String id);
	/**
	 * 通过处置单id查询详情数目
	 * @param zcQueryCriteria
	 * @return
	 */
	public int countDisposeRejectsDetailsListBydId(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 查找质检单列表
	 * @return
	 */
	public List<ZcTestEntity> selectTestList(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 查找质检单列表数目
	 * @return
	 */
	public int countTestList(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 查找质检单
	 * @param zqc
	 * @return
	 */
	public ZcTestEntity selectTest(ZcQueryCriteria zqc);
	/**
	 * 保存处置单详情
	 * @param zcDisposeRejectsDetailsEntity
	 * @return
	 */
	public int insertDisposeRejectsDetails(ZcDisposeRejectsDetailsEntity zcDisposeRejectsDetailsEntity);
	/**
	 * 修改处置单详情
	 * @param zcDisposeRejectsDetailsEntity
	 * @return
	 */
	public int updateDisposeRejectsDetails(ZcDisposeRejectsDetailsEntity zcDisposeRejectsDetailsEntity);
	/**
	 * 删除处置单详情
	 * @param zcDisposeRejectsDetailsEntity
	 * @return
	 */
	public int delDisposeRejectsArrDetails(long id);
	/**
	 * 查询部门列表
	 * @return
	 */
	public List<Department> getZtreeJson();
	/**
	 * 查询部门下人员列表
	 * @return
	 */
	public List<User> getZtreeChild(long dId);
	/**
	 * 查询上次审批人
	 * @return
	 */
	public ZcDisposeRejectsEntity selectHistoryApprover();
	/**
	 * 通过质检单号查询检漏结果
	 * @param zcQueryCriteria
	 * @return
	 */
	public List<ZcLeakHuntingEntity> selectLeakHuntingListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过质检单号查询检漏结果数量
	 * @param zcQueryCriteria
	 * @return
	 */
	public int countLeakHuntingListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过质检单号查询组件评价结果
	 * @param zcQueryCriteria
	 * @return
	 */
	public List<ZcEvaluateEntity> selectEvaluateListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过质检单号查询组件评价结果数量
	 * @param zcQueryCriteria
	 * @return
	 */
	public int countEvaluateListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过质检单号查询气密性检测结果
	 * @param zcQueryCriteria
	 * @return
	 */
	public List<ZcGasEntity> selectGasListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过质检单号查询气密性检测结果数量
	 * @param zcQueryCriteria
	 * @return
	 */
	public int countGasListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过质检单号查询配件检测结果
	 * @param zcQueryCriteria
	 * @return
	 */
	public List<ZcTestDetailsEntity> selectTestListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过质检单号查询配件检测结果数量
	 * @param zcQueryCriteria
	 * @return
	 */
	public int countTestListByNumber(ZcQueryCriteria zcQueryCriteria);
	/**
	 * 通过did查询不合格处置单
	 * @param dId
	 * @return
	 */
	public List<ZcDisposeRejectsEntity> selectDisposeRejectsBydId(long dId);
	/**
	 * 报废修改数点表
	 * @param code
	 * @return
	 */
	public int updateNumbered(ZcDisposeRejectsEntity zcDisposeRejectsEntity);
}
